home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Network Support Library
/
RoseWare - Network Support Library.iso
/
btrieve
/
sql_dp.arj
/
XQLMTEST.PAS
< prev
Wrap
Pascal/Delphi Source File
|
1993-07-27
|
5KB
|
155 lines
program ProtectedModeTest;
Uses CRT, XQLMDPMI;
const XQL_SPACING = 2;
XQL_BLANK = 1;
CUR_REC = 0;
FIRST_REC = 1;
NEXT_REC = 2;
PREV_REC = 3;
LAST_REC = 4;
MAX_FIELD_NAME_LEN = 255;
var Status,
Cursor,
DataType,
DataDec,
DataSize,
NameLen,
DataLen,
StmntLen : integer;
i,
RecCount : longint;
Statement : array[0.. 1000] of char;
DataLine : array[0..10000] of char;
TmpStr : string;
procedure XQLLog;
const Reserved : char = #0;
var CursorNr,
ProcessID : integer;
UserID,
PassWord,
DDPath,
Machine,
XQLDataPath : string;
begin { of XQLLog }
UserID := 'Master' + #0;
PassWord := 'Master' + #0;
DDPath := ParamStr(1) + #0;
XQLDataPath := DDPath;
Machine := Reserved;
ProcessID := 0;
Status := XQLLogin (UserId[1],
Password[1],
DDPath[1],
XQLDataPath[1],
Machine[1],
ProcessID
);
end; { of XQLLog }
begin
if (InitXQLMDPMI=0) then
begin
XQLLog;
if (Status<=0) then
begin
writeln('Logged into XQL Status: ',Status);
Status := XQLCursor(Cursor);
writeln('XQLCursor : ',Status,' CursorID : ',Cursor);
if (Status=0) then
begin
FillChar(Statement[0], 1000, #0);
TmpStr := 'SELECT * FROM KUNDEN';
Move(TmpStr[1],Statement[0],length(TmpStr));
StmntLen := succ(length(TmpStr));
Status := XQLCompile(Cursor,StmntLen ,Statement[0]);
writeln('Compiling >',TmpStr,'< Status : ',Status);
DataLen := 10000;
RecCount := 1;
Status := XQLFetch(Cursor,
FIRST_REC,
DataLen,
DataLine[0],
RecCount,
XQL_BLANK,
XQL_SPACING);
writeln('Fetch FIRST Status : ',Status);
i := 2;
while (Status=0) do
begin
DataLen := 10000;
RecCount := 1;
Status := XQLFetch(Cursor,
NEXT_REC,
DataLen,
DataLine[0],
RecCount,
XQL_BLANK,
XQL_SPACING);
move(DataLine[0], TmpStr[1], 70);
TmpStr[0] := chr(70);
writeln(i,' >',TmpStr,'<');
inc(i);
end;
i := 1;
repeat
TmpStr[0] := chr(MAX_FIELD_NAME_LEN);
FillChar(TmpStr[1], MAX_FIELD_NAME_LEN, #32);
NameLen := MAX_FIELD_NAME_LEN;
Status := XQLDescribe(Cursor,
i,
DataType,
DataSize,
DataDec,
DataLen,
NameLen,
TmpStr[1]);
if (Status=0) then
begin
TmpStr[0] := chr(NameLen);
writeln('Describe Status : ',Status,' >',TmpStr,'<');
end;
inc(i);
until (Status<>0);
Status := XQLFree(Cursor);
writeln('XQLFree Status: ',Status);
end;
Status := XQLLogout;
writeln('Logged out from XQL Status: ',Status);
end
else
writeln('No login possible Status:',Status);
ExitXQLMDPMI;
end
else
writeln('Error initialising XQL DPMI Interfaxe ');
end.